Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

МОДЕЛЮВАННЯ ПРЕДСТВАЛЕННЯ В ПАМ’ЯТІ ВЕКТОРІВ І ТАБЛИЦЬ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Теорiя алгоритмiв i математичнi основи представленння знань

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ,,ЛЬВІВСЬКА ПОЛІТЕХНІКА’’ Кафедра інформаційних систем та мереж / Лабораторна робота №1 на тему: МОДЕЛЮВАННЯ ПРЕДСТВАЛЕННЯ В ПАМ’ЯТІ ВЕКТОРІВ І ТАБЛИЦЬ Мета роботи: Набуття навичок розміщення в пам’яті векторів і таблиць. Завдання Розробити спосіб економного зберігання в пам’яті розріджених матриць(таблиць). Розробити процедури і функції для забезпечення доступу (читання-запис) до елементів матриці. Оцінити час виконання операцій. № варіанту індивідуального завдання 10. Всі нульові елементи розміщені в шаховому порядку, починаючи з 1-го елементу 1-ї стрічки. Опис алгоритму: В даній лабораторній потрібно створити розріджену матрицю, яка б містила лише 0 або 1. Далі потрібно розробити метод економного зберігання, потрібних елементів. В даній лабораторній роботі я використовую метод перетворення елементів матриці в координати. Перебираючи рядки матриці, алгоритм виводить лише координати ненульових елементів, для економнішого зберігання. Блок-схема алгоритму Ні Так Реалізація програми в мові С Код програми //Matrix.cpp #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctime> #define MAX 100 void main() { srand(time(0)); int a[MAX][MAX]; int i,j,s,r; int t1, t2; printf("Розмiрнiсть:\n"); scanf_s("%d%d",&r,&s); printf("Згенерована матриця розмiром [%dx%d]\n",r,s); t1=clock(); for(i=0 ;i<r; i++) { printf("\n"); for(j=0; j<s; j++) { a[i][j]=rand()%2; printf(" %d", a[i][j]); } } printf("\n\n"); for(i=0; i<r; i++) for(j=0; j<s; j++) { if (!((i+j) % 2==0)) //Якщо елемент непарний, пропускаємо його if (a[i][j] != 0) printf("<%d,%d>", i+1, j+1); } printf("\n\t"); t2=clock(); printf("\nЧас виконання програми:%ld ms\n", t2-t1); _getch(); } Виведення результатів Даний алгоритм було використано для матриць розмірів 10х10 та 100х100. Різниця в часі виконання була не суттєвою (1.92 секунди) . / Рис 1. Виконання на матриці 10х10 / Рис 2. Виконання на матриці 100х100 Таблиця затрат часу на виконання Час Для матриці 10х10 Для матриці 100х100 Різниця  t1 16 мс. 1950 мс. 1934 мс.  t2 17 мс. 1948 мс. 1931 мс.  t3 19 мс. 1911 мс. 1892 мс.   Середня різниця часу складає 1919 мс. – 1.92 секунди. Висновок: в даній лабораторній роботі я навчився зберігати в пам’яті вектори та таблиці. Для економного збереження матриць я використав спосіб зберігання координат потрібних елементів. Різниця в часі виконання між матрицями 10х10 та 100х100 була не суттєвою – 1.92 секунди. При зчитуванні даних з файлу, час зменшувався лише на декілька мілісекунд: для матриці розміром 10х10, приблизно на 15 мілісекунд, а для матриці 100х100 – 250 мілісекунд. Отже, я вважаю цей спосіб збереження – економним.
Антиботан аватар за замовчуванням

12.12.2016 23:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини